using System;
using System.Collections.Generic;
using System.Text;

using Peradigm.Framework.Persistence;

using Liberty.Domain.ServiceMemberManagement;

using Microsoft.VisualStudio.TestTools.UnitTesting;
//using NUnit.Framework.SyntaxHelpers;

namespace Tests.DomainTests.ServiceMemberManagement
{
    [TestClass()]
    public class RankTests : Object
    {
        #region Constants
        private const string ABBREVIATION = "NT",
                             BRANCHOFSERVICE = "Army",
                             PAYGRADE = "E02",
                             RANKNAME = "Private",
                             RANKSTRUCTURE = "Test Soldier";
        #endregion

        #region Setup and Teardown RankTests
        [TestInitialize()]
        public void SetupRankTests()
        {
        }

        [TestCleanup()]
        public void TeardownRankTests()
        {
        }
        #endregion

        #region Test Methods
        [TestMethod()]
        public void TestProperties()
        {
            Rank aRank = new Rank( PersistentModel.NEW_OID, PersistentModel.NEW_VERSION, String.Empty, Rank.DEFAULT_RANKING,
                true, 
                ABBREVIATION,
                new Branch( PersistentModel.NEW_OID, PersistentModel.NEW_VERSION, BRANCHOFSERVICE, Branch.DEFAULT_RANKING, true ),
                PAYGRADE,
                RANKNAME,
                RANKSTRUCTURE );

            Assert.AreEqual( ABBREVIATION, aRank.Abbreviation );
            Assert.AreEqual( BRANCHOFSERVICE, aRank.BranchOfService.Description );
            Assert.AreEqual( PAYGRADE, aRank.PayGrade );
            Assert.AreEqual( RANKNAME, aRank.RankName );
            Assert.AreEqual( RANKSTRUCTURE, aRank.RankStructure );
        }
        #endregion

        #region Support Methods
        #endregion

        #region Data Elements
        #endregion

    }
}
